﻿/******************************************************   
创建者: ljj
创建时间: 2018-01-03
修改:
修改时间: 
功能: 类别缺口计算实体
 ******************************************************/

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using com.nm.Attributes;

namespace InventoryToPredictAPI.model
{
    public class GoodsKindGapCalcBaseItemModel
    {
        /// <summary>
        /// 类别缺口计算基础属性项实体
        /// </summary>
        /// Writer：ljj
        /// Create Date：2018-01-03
        public class CreateModel : NeceModel
        {

            [ParamDescription("公司")]
            public string CompanyID { get; set; }
            [ParamDescription("数据源")]
            public string ExtrSource { get; set; }
            [ParamDescription("年份")]
            public string YearV { get; set; }
            [ParamDescription("周")]
            public string WeekNo { get; set; }
        }
        /// <summary>
        /// 类别缺口计算基础属性项主要实体
        /// </summary>
        /// Writer：ljj
        /// Create Date：2018-01-03
        public class NeceModel
        {
            [ParamDescription("区域ID")]
            public string ParentAreaID { get; set; }
            [ParamDescription("类别")]
            public string KindID { get; set; }
            [ParamDescription("子项目")]
            public string ItemOrSub { get; set; }
            [ParamDescription("性别")]
            public string SexID { get; set; }
            [ParamDescription("平均单价")]
            public decimal? AvgPrice { get; set; }
            [ParamDescription("预估占比")]
            public decimal? PredictRate { get; set; }
            [ParamDescription("标准SKC数量")]
            public long? SKCQty { get; set; }
            [ParamDescription("单店单SKC标准陈列量")]
            public long? ShopSKCDisplayQty { get; set; }
            [ParamDescription("平均日销量")]
            public decimal? AvgSaleQty { get; set; }
            [ParamDescription("近30天销售占比")]
            public decimal? MonthSaleRate { get; set; }
        }
        /// <summary>
        /// 类别缺口计算基础属性项显示实体
        /// </summary>
        /// Writer：ljj
        /// Create Date：2018-01-03
        public class ListModel:NeceModel
        {
            [ParamDescription("区域")]
            public string OperationAreaName { get; set; }
            [ParamDescription("性别")]
            public string SexName { get; set; }
            [ParamDescription("大类")]
            public string KindName { get; set; }
            [ParamDescription("年份")]
            public string YearV { get; set; }
            [ParamDescription("周")]
            public string WeekNo { get; set; }
            [ParamDescription("销售需求吊牌额")]
            public decimal? SaleTagAmount { get; set; }
            [ParamDescription("销售需求数量")]
            public long? SaleQty { get; set; }
            [ParamDescription("陈列需求数量")]
            public long? DisplayQty { get; set; }
            [ParamDescription("陈列需求吊牌额")]
            public decimal? DisplayTagAmount { get; set; }
            [ParamDescription("有效SKC个数")]
            public long? ValidSKCQty { get; set; }
            [ParamDescription("有效SKC数量")]
            public long? SumValidSKCQty { get; set; }
            [ParamDescription("有效SKC金额")]
            public decimal? SumValidSKCAmount { get; set; }
            [ParamDescription("半有效SKC个数")]
            public long? HalfValidSKCQty { get; set; }
            [ParamDescription("半有效SKC数量")]
            public long? SumHalfValidSKCQty { get; set; }
            [ParamDescription("半有效SKC金额")]
            public decimal? SumHalfValidSKCAmount { get; set; }
            [ParamDescription("总有效SKC个数")]
            public long? TotalValidSKCQty { get; set; }
            [ParamDescription("SKC宽度缺口")]
            public long? SKCWidthGap { get; set; }
            [ParamDescription("数量缺口")]
            public long? QtyGap { get; set; }
            [ParamDescription("金额缺口")]
            public decimal? AmountGap { get; set; }
            [ParamDescription("畅销SKC缺口")]
            public long? CSKCGap { get; set; }
            [ParamDescription("畅销数量缺口")]
            public long? CQtyGap { get; set; }
            [ParamDescription("畅销金额缺口")]
            public decimal? CAmountGap { get; set; }
            [ParamDescription("其它宽度缺口")]
            public long? OtherWidthGap { get; set; }
            [ParamDescription("其它数量缺口")]
            public long? OtherQtyGap { get; set; }
            [ParamDescription("其它金额缺口")]
            public decimal? OtherAmountGap { get; set; }
        }
        /// <summary>
        /// 类别缺口计算基础属性项显示实体
        /// </summary>
        /// Writer：ljj
        /// Create Date：2018-01-03
        public class ShowModel : NeceModel
        {
            [ParamDescription("性别")]
            public string SexName { get; set; }
            [ParamDescription("大类")]
            public string KindName { get; set; }
            public IList<GoodsKindGapCalcWeeklyItemModel.NeceModel> WeeklyItemList { get; set; }
        }
    }

    public class GoodsKindGapCalcWeeklyItemModel
    {
        /// <summary>
        /// 类别缺口计算每周计算项实体
        /// </summary>
        /// Writer：ljj
        /// Create Date：2018-01-03
        public class CreateModel : NeceModel
        {

            [ParamDescription("公司")]
            public string CompanyID { get; set; }
            [ParamDescription("数据源")]
            public string ExtrSource { get; set; }
            [ParamDescription("区域ID")]
            public string ParentAreaID { get; set; }
            [ParamDescription("类别")]
            public string KindID { get; set; }
            [ParamDescription("子项目")]
            public string ItemOrSub { get; set; }
            [ParamDescription("性别")]
            public string SexID { get; set; }
        }
        /// <summary>
        /// 类别缺口计算每周计算项主要实体
        /// </summary>
        /// Writer：ljj
        /// Create Date：2018-01-03
        public class NeceModel
        {
            [ParamDescription("年份")]
            public string YearV { get; set; }
            [ParamDescription("周")]
            public string WeekNo { get; set; }
            [ParamDescription("销售需求吊牌额")]
            public decimal? SaleTagAmount { get; set; }
            [ParamDescription("销售需求数量")]
            public long? SaleQty { get; set; }
            [ParamDescription("陈列需求数量")]
            public long? DisplayQty { get; set; }
            [ParamDescription("陈列需求吊牌额")]
            public decimal? DisplayTagAmount { get; set; }
            [ParamDescription("有效SKC个数")]
            public long? ValidSKCQty { get; set; }
            [ParamDescription("有效SKC数量")]
            public long? SumValidSKCQty { get; set; }
            [ParamDescription("有效SKC金额")]
            public decimal? SumValidSKCAmount { get; set; }
            [ParamDescription("半有效SKC个数")]
            public long? HalfValidSKCQty { get; set; }
            [ParamDescription("半有效SKC数量")]
            public long? SumHalfValidSKCQty { get; set; }
            [ParamDescription("半有效SKC金额")]
            public decimal? SumHalfValidSKCAmount { get; set; }
            [ParamDescription("总有效SKC个数")]
            public long? TotalValidSKCQty { get; set; }
            [ParamDescription("SKC宽度缺口")]
            public long? SKCWidthGap { get; set; }
            [ParamDescription("数量缺口")]
            public long? QtyGap { get; set; }
            [ParamDescription("金额缺口")]
            public decimal? AmountGap { get; set; }
            [ParamDescription("畅销SKC缺口")]
            public long? CSKCGap { get; set; }
            [ParamDescription("畅销数量缺口")]
            public long? CQtyGap { get; set; }
            [ParamDescription("畅销金额缺口")]
            public decimal? CAmountGap { get; set; }
            [ParamDescription("其它宽度缺口")]
            public long? OtherWidthGap { get; set; }
            [ParamDescription("其它数量缺口")]
            public long? OtherQtyGap { get; set; }
            [ParamDescription("其它金额缺口")]
            public decimal? OtherAmountGap { get; set; }
        }
    }
}
